/*
 *3_modifier.cpp
 *Create by Administrator
 * 2017年3月23日
 * 下午1:33:02
 */
#include <iostream>

using std::cout;
using std::endl;
/**
 * demo
 */
class Base {
public:
	//public members go here

protected:
	//protected memebrs go here
private:
	//private members go here
};

/**
 * 公有（public）成员
 */
class Line {
public:
	double length;
	void setLength(double len);
	double getLength(void);
};
//成员函数定义
double Line::getLength(void) {
	return length;
}

void Line::setLength(double len) {
	length = len;
}

/**
 * 私有（private）成员
 */
class Box {
//	double width;
public:
	double length;
	void setWidth(double wid);
	double getWidth(void);
private:
	double width;
};

//成员函数定义
double Box::getWidth(void) {
	return width;
}

void Box::setWidth(double wid) {
	width = wid;
}

//成员函数定义

int main() {
	/**
	 * 公有（public）成员
	 */
	Line line;
	//设置长度
	line.setLength(6.0);
	cout << "Length of line : " << line.getLength() << endl;

	//不使用成员函数设置长度
	line.length = 10.0;  //OK: 因为 length 是公有的
	cout << "Length of line : " << line.length << endl;

	/**
	 * 私有（private）成员
	 */
	Box box;
	//不使用成员函数设置长度
	box.length = 10.0;  // OK: 因为 length 是公有的
	cout << "Length of box : " << box.length << endl;
	// 不使用成员函数设置宽度
//         box.width = 10.0; // Error: 因为 width 是私有的
	box.setWidth(10.0);  // 使用成员函数设置宽度
	cout << "Width of box: " << box.getWidth() << endl;
	return 0;
}
